#ifndef __OgrePluginAML_Prerequisites_H__
#define __OgrePluginAML_Prerequisites_H__
#pragma once

// Include OGRE headers
#include <OgrePrerequisites.h>

namespace Ogre
{

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#	ifdef Plugin_AML_EXPORTS
#		define _OgrePluginAMLExport __declspec(dllexport)
#	else
#		if OGRE_COMPILER == OGRE_COMPILER_GNUC
#			define _OgrePluginAMLExport
#		else
#			define _OgrePluginAMLExport __declspec(dllimport)
#		endif // end of #if OGRE_COMPILER == OGRE_COMPILER_GNUC
#	endif // end of #ifdef Plugin_AML_EXPORTS
#	define _OgrePluginAMLPrivate
#elif OGRE_PLATFORM == OGRE_PLATFORM_LINUX || OGRE_PLATFORM == OGRE_PLATFORM_APPLE || \
	OGRE_PLATFORM == OGRE_PLATFORM_IPHONE || OGRE_PLATFORM == OGRE_PLATFORM_SYMBIAN
#	if OGRE_COMP_VER >= 400
#		define _OgrePluginAMLExport __attribute__ ((visibility("default")))
#		define _OgrePluginAMLPrivate __attribute__ ((visibility("hidden")))
#	else
#		define _OgrePluginAMLExport
#		define _OgrePluginAMLPrivate
#	endif // end of #if OGRE_COMP_VER >= 400
#else
#	pragma error "Unsupported platform. Abort."
#endif // end of #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32

} // end of namespace Ogre

#endif //include guard, end of #ifndef __OgrePluginAML_Prerequisites_H__
